This disclosure relates generally to database management systems, and more specifically, to verifying data destruction within a database.
Database manager modules may perform the two functions of reading and modifying data within a database. Database managers may read data by selecting and delivering particular database records or values requested by a user based on a query statement. The query statement specifies the particular attributes (e.g., columns), table, and query conditions that a user desires. Database managers may modify data by inserting new database records (rows) in a table, updating values within the database records, or deleting particular database records from a table matching specified query conditions. A transaction may include one or more of these operations. The data that is read or modified may be located within a data file.
When the database manager reads or modifies data within a data file (e.g., source database file), the database manager may also write or copy corresponding data to additional files. For example, when a database transaction is initiated and completes, the database manager may write to a transaction log file. A transaction log records a history of changes made to a data file. For example, when a user issues a query to “update” a value, the database manager may update the value by changing the value to a new value within a source database but still maintain the old value within the transaction log. Transaction log files may be useful in case data needs to be recovered.
The database manager may further write information to a snapshot file (e.g., sparse file) or backup file. A snapshot is a read-only, static view copy of a database data file as the data file existed at a particular point in time. For example, a snapshot may be a copy of database (or records) as the database existed 2 weeks prior to a current date. Accordingly, a snapshot may restore old database values that existed at some time (e.g., clock time) prior to the current time. Snapshots of databases may be taken each time a change is made to a data file or on a periodic basis for reporting purposes or when data is changed by mistake. A full database backup file provides a complete archive of a database as it existed at the time a backup operation finished, which may be useful when hardware disasters occur.